const jwt= require('jsonwebtoken');
const expressJwt = require('express-jwt');

//定义签名
const secret = 'salt';
//生成token
const token = jwt.sign({
    name: 123
}, secret, {
    expiresIn:  60 //秒到期时间
});
// console.log(token)

//使用中间件验证token合法性
app.use(expressJwt ({
    secret:  secret 
}).unless({
    path: ['/login']  //除了这些地址，其他的URL都需要验证
}));


//拦截器
app.use(function (err, req, res, next) {
    //当token验证失败时会抛出如下错误
    if (err.name === 'UnauthorizedError') {   
        //这个需要根据自己的业务逻辑来处理（ 具体的err值 请看下面）
        res.status(401).send('invalid token...');
    }
});

module.exports = {
    token : token
}
